﻿DELIMITER //

--
--
DROP PROCEDURE IF EXISTS spAccessTokenCheck
//

-- HU - Jegyellenőrzés
-- EN - Check user token
--
--
CREATE PROCEDURE spAccessTokenCheck 
  (_AccessToken INTEGER, OUT _UserID INTEGER, OUT _Lang VARCHAR(10))
BEGIN
  DECLARE _Rows INTEGER;

  -- Nyelvi beállítás
  --
  SELECT  
      CASE @@lc_time_names
        WHEN N'hu_HU' THEN N'HU'
        WHEN N'en_US' THEN N'EN'
        WHEN N'en_UK' THEN N'EN'
        WHEN N'de_DE' THEN N'DE'
        WHEN N'de_AT' THEN N'DE'
      ELSE N'EN' END INTO _Lang;


  -- HU - Felhasználó ellenőrzése
  -- EN - Authentication
  --
  BEGIN
    DECLARE EXIT HANDLER FOR NOT FOUND SET _Rows = 0;

    SELECT ID
      INTO _UserID
      FROM ZeusUser
     WHERE ID = _AccessToken;

    SET _Rows = 1;
  END;

  IF (_Rows != 1) THEN

    IF (_Lang = 'HU') THEN
      SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = N'Bejelentkezés elutasítva !';
    END IF;

    IF (_Lang = 'EN') THEN
      SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = N'Access denied !';
    END IF;

    IF (_Lang = 'DE') THEN
      SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = N'Einloggen Abgelehnt!';
    END IF;
  END IF;  

END
//
